package org.springblade.modules.repair.vo.rescue;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.Map;

/**
 * 报警信息列表VO
 * @author: Sharry
 * @createTime: 2025-07-14 14:38
 * @version: Version-1.0
 */
@Data
public class RescueNoticeListVO {

	@ApiModelProperty(value = "主键id")
	private Long id;

	/**
	 * 报警ID, 梯联网生成
	 */
	@ApiModelProperty(value = "报警ID,梯联网生成")
	private String callId;

	/**
	 * 报警名称, 梯联网生成
	 */
	@ApiModelProperty(value = "报警名称,梯联网生成")
	private String eventName;

	/**
	 * 报警来源：0-物联网告警，24-疑似困人，99-梯联网告警，100-微信群机器人
	 */
	@ApiModelProperty(value = "报警来源")
	private String eventCode;

	/**
	 * 报警来源说明，供前端展示
	 */
	@ApiModelProperty(value = "报警来源说明，供前端展示")
	private String eventCodeDesc;

	/**
	 * 所在项目
	 */
	@ApiModelProperty(value = "所在项目")
	private String buildingName;

	/**
	 * 电梯位置
	 */
	@ApiModelProperty(value = "电梯位置")
	private String elevatorAddress;

	/**
	 * 紧急程度
	 */
	@ApiModelProperty(value = "紧急程度")
	private Integer eventLevel;

	/**
	 * 紧急程度描述
	 */
	@ApiModelProperty(value = "紧急程度描述")
	private String eventLevelDesc;

	/**
	 * 记录状态
	 * 确认类型：1-准确无误， 2-误报， 3-无法确定
	 */
	@ApiModelProperty(value = "记录状态")
	private Integer confirmType;

	/**
	 * 记录状态描述
	 */
	@ApiModelProperty(value = "记录状态描述")
	private String confirmTypeDesc;

	/**
	 * 关联工单id
	 */
	@ApiModelProperty(value = "关联工单id")
	private Long planId;

	/**
	 * 工单状态
	 */
	@ApiModelProperty(value = "工单状态")
	private Integer status;

	/**
	 * 工单状态描述
	 */
	@ApiModelProperty("工单状态描述")
	private String statusDesc;

	/**
	 * 工单类型（用于确认状态具体值）,对应工单枚举
	 */
	@ApiModelProperty(value = "工单类型（用于确认状态具体值）")
	private Integer typeStatus;

	/**
	 * 工单类型描述
	 */
	@ApiModelProperty(value = "工单类型描述")
	private String typeStatusDesc;

	/**
	 * 确认是否超时
	 * 当前按 time_out_time 字段判断，为空准时，否则超时
	 */
	@ApiModelProperty(value = "确认是否超时")
	private Boolean isConfirmTimeOut;

	/**
	 * 报警时间
	 */
	@ApiModelProperty(value = "报警时间")
	private Date createTime;

	/**
	 * 工单创建时间（如果有）
	 */
	@ApiModelProperty(value = "工单创建时间（如果有）")
	private Date planCreateTime;

	/**
	 * 电梯码
	 */
	@ApiModelProperty(value = "电梯码")
	private String elevatorNum;

	/**
	 * 项目id
	 */
	@ApiModelProperty(value = "项目id")
	private Long buildingId;

	/**
	 * 电梯id
	 */
	@ApiModelProperty(value = "电梯id")
	private Long elevatorId;



	/**
	 * 项目别名
	 */
	@ApiModelProperty(value = "项目别名")
	private String buildingAlias;

	/**
	 * 电梯别名
	 */
	@ApiModelProperty(value = "电梯别名")
	private String elevatorAlias;

	/**
	 * 经度
	 */
	@ApiModelProperty(value = "经度")
	private Double longitude;

	/**
	 * 纬度
	 */
	@ApiModelProperty(value = "纬度")
	private Double latitude;

	/**
	 * 项目地址
	 */
	@ApiModelProperty(value = "项目地址")
	private String buildingAddress;

	@ApiModelProperty(value = "确认时间")
	private Date confirmTime;

	@ApiModelProperty(value = "确认人")
	private String confirmUser;

}
